using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("ICC_03_SECRETS")]
	public class ICC_03_SECRETS : ICC_MissionEntity
	{
		public Notification m_turnCounter => method_3<Notification>("m_turnCounter");

		public TempleArt m_templeArt => method_3<TempleArt>("m_templeArt");

		public int m_mostRecentMissionEvent => method_2<int>("m_mostRecentMissionEvent");

		public ICC_03_SECRETS(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ICC_03_SECRETS(IntPtr address)
			: this(address, "ICC_03_SECRETS")
		{
		}

		public new void PreloadAssets()
		{
			method_8("PreloadAssets");
		}

		public new bool ShouldHandleCoin()
		{
			return method_11<bool>("ShouldHandleCoin", Array.Empty<object>());
		}

		public new void NotifyOfMulliganInitialized()
		{
			method_8("NotifyOfMulliganInitialized");
		}

		public new void NotifyOfMulliganEnded()
		{
			method_8("NotifyOfMulliganEnded");
		}

		public new void OnTagChanged(TagDelta change)
		{
			method_8("OnTagChanged", change);
		}

		public new string CustomChoiceBannerText()
		{
			return method_13("CustomChoiceBannerText");
		}

		public new void PlayEmoteResponse(EmoteType emoteType, CardSoundSpell emoteSpell)
		{
			method_8("PlayEmoteResponse", emoteType, emoteSpell);
		}

		public void InitVisuals()
		{
			method_8("InitVisuals");
		}

		public void InitTempleArt(int cost)
		{
			method_8("InitTempleArt", cost);
		}

		public void InitTurnCounter(int cost)
		{
			method_8("InitTurnCounter", cost);
		}

		public void UpdateVisuals(int cost)
		{
			method_8("UpdateVisuals", cost);
		}

		public void UpdateTempleArt(int cost)
		{
			method_8("UpdateTempleArt", cost);
		}

		public void UpdateTurnCounter(int cost)
		{
			method_8("UpdateTurnCounter", cost);
		}

		public void UpdateTurnCounterText(int cost)
		{
			method_8("UpdateTurnCounterText", cost);
		}
	}
}
